package bubbleSort;

public class BubbleSort {

	public static void main(String[] args) {
		int[] a = {3,5,8,1,6,2,0,7,4,9,-1,2};
		
		for (int j=0; j<a.length; j++ ) {
			int flag=0;//记录是否发生过交换，如果没发生过，则已经有序可以退出
			for (int i=1; i<a.length-j; i++) {
				if (a[i-1]>a[i]) {
					swap(a, i, i-1);
					flag ++;
				}
			}
			if (flag==0) {
				break;
			}
		}
		printArray(a);
	}
	/**
	 * 打印输出数组a到控制台
	 * @param a
	 */
	private static void printArray(int[] a) {
		for (int i = 0; i < a.length; i++) {
			System.out.print(a[i]+"\t");
		}
	}
	/**
	 * 交换数组中两个位置的值
	 * @param a
	 * @param i
	 * @param index
	 */
	private static void swap(int[] a, int i, int index) {
		int temp = 0;
		temp = a[i];
		a[i] = a[index];
		a[index] = temp;
	}
	

}
